package com.warmlight.voicepacket.utils;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * 作    者：MrYan （QQ：416643088）
 * 创建日期：7/31 0031.
 * 数据格式化工具类
 */

public class FormUnitUtils {
    /**
     * 以万为单位格式化
     *
     * @param value 需要格式化的数字   如 W w 万
     * @param unit  单位
     * @return 格式化后的数据
     */

    public static String form(long value, String unit) {
        System.out.println("格式化数据 - " + value);
        return form(BigDecimal.valueOf(value),unit);
    }
    public static String form(BigDecimal value, String unit) {
        System.out.println("格式化数据 - " + value);
        BigDecimal a = new BigDecimal(10000);
        if (value.compareTo(a) >= 0) {
            return value.divide(a, 2, RoundingMode.DOWN) + unit;
        }
        return value.intValue() + "";
    }

    public static String form(BigDecimal value, String unit,boolean isDown) {
        System.out.println("格式化数据 - " + value);
        BigDecimal a = new BigDecimal(10000);
        if (value.compareTo(a) >= 0) {
            if (isDown) {
                return value.divide(a, 2, RoundingMode.DOWN) + unit;
            }else {
                return value.divide(a, 2, RoundingMode.UP) + unit;
            }

        }
        return value.intValue() + "";
    }


    public static String formLac(BigDecimal value) {
        System.out.println("格式化数据 - " + value);
        BigDecimal a = new BigDecimal(10000);
        if (value.compareTo(a) >= 10) {
            return value.divide(a, 2, RoundingMode.DOWN) + "w";
        }
        return value.intValue() + "";
    }



    public static BigDecimal form(BigDecimal value) {
        BigDecimal a = new BigDecimal(10000);
        return value.divide(a, 2, RoundingMode.DOWN);
    }

    /**
     * 任意进制格式化数据
     *
     * @param value  需要格式化的值
     * @param system 进制单位
     * @return 格式化后的值(保留小数点两位)
     */
    public static BigDecimal form(BigDecimal value, int system) {
        BigDecimal a = new BigDecimal(system);
        return value.divide(a, 2, RoundingMode.DOWN);
    }

}
